Your packet reassembler relies on a base reassembler component to do most of the routine reassembly work. Your reassembler can modify some of the base reassembler's default behaviors simply by setting flags.With a few exceptions, your reassembler implements reassembler functions only when it needs to override the normal behavior of the base reassembler.
The base reassembler's main function is to assemble incoming packets into "chunks", then pass the chunks to a stream handler. A chunk is the amount of data useful to a particular stream handler, such as a video frame or twenty milliseconds of audio.
Your reassembler must specify the type of stream handler needed, but your reassembler doesn't work with stream handlers directly. The base reassembler does this for you.
The default behavior of the base reassembler is as follows:
Your reassembler can change this default by telling the base reassembler that every packet is a chunk.
The base reassembler assumes a zero-length payload header (no payload header) unless your reassembler sets a nonzero payload header length as the default.
The base reassembler can be set to inform your reassembler that a chunk has missing packets.
By implementing certain functions, you can cause the base reassembler to call your reassembler at one of several points to override or modify the default behavior:
This is discussed further in the sections "Handling Packets Yourself" and "Handling Chunks Yourself".
| Previous | Chapter Contents | Chapter Top | Next |